#!/bin/env python

curr = 0
idx = 0
byte = 0

def push4bits(val):
  global curr, idx, byte
  val = val & 0x0f
  curr += val << idx
  idx += 4
  if idx == 8:
    print "0x%02X," % curr,
    idx = 0
    curr = 0
    byte += 1
    if byte % 16 == 0:
      print

cluster = 0

def pushCluster(val):
   global cluster
   push4bits(val)
   push4bits(val >> 4)
   push4bits(val >> 8)
   cluster += 1

def pushFile(size):
   sectors = size / 512
   count = sectors / 8
   for i in range(count-1):
     pushCluster(cluster+1)
   pushCluster(0xFFF)

def pushDisk(eeprom, flash):
  global curr, idx, byte, cluster
  curr = idx = byte = cluster = 0
  print "Disk with %dk EEPROM and %dk FLASH:" % (eeprom, flash)
  pushCluster(0xFF8)
  pushCluster(0xFFF)
  pushFile(eeprom*1024)
  pushFile(flash*1024)
  while byte < 512:
    push4bits(0)
  print

pushDisk(32, 512)
pushDisk(64, 512)

